package com.zretc.shop.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

/**
 * 订单
 * @TableName sxo_order
 */
@Data
public class SxoOrder implements Serializable {
    /**
     * 自增id
     */
    @TableId(type = IdType.AUTO)//TableId表示id这一类 为表的主键 type = IdType.AUTO 表示主健自增长
    private Integer id;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 仓库id
     */
    private Integer warehouseId;

    /**
     * 快递id
     */
    private Integer expressId;

    /**
     * 快递单号
     */
    private String expressNumber;

    /**
     * 支付方式id
     */
    private Integer paymentId;

    /**
     * 系统类型（默认 default, 其他按照SYSTEM_TYPE常量类型）
     */
    private String systemType;

    /**
     * 订单状态（0待确认, 1已确认/待支付, 2已支付/待发货, 3已发货/待收货, 4已完成, 5已取消, 6已关闭）
     */
    private Integer status;

    /**
     * 支付状态（0未支付, 1已支付, 2已退款, 3部分退款）
     */
    private Integer payStatus;

    /**
     * 扩展展示数据
     */
    private String extensionData;

    /**
     * 购买商品总数量
     */
    private Integer buyNumberCount;

    /**
     * 增加的金额
     */
    private BigDecimal increasePrice;

    /**
     * 优惠金额
     */
    private BigDecimal preferentialPrice;

    /**
     * 订单单价
     */
    private BigDecimal price;

    /**
     * 订单总价(订单最终价格)
     */
    private BigDecimal totalPrice;

    /**
     * 已支付金额
     */
    private BigDecimal payPrice;

    /**
     * 退款金额
     */
    private BigDecimal refundPrice;

    /**
     * 退货数量
     */
    private Integer returnedQuantity;

    /**
     * 客户端类型（pc, h5, ios, android, alipay, weixin, baidu）取APPLICATION_CLIENT_TYPE常量值
     */
    private String clientType;

    /**
     * 订单模式（0销售型, 1展示型, 2自提点, 3虚拟销售）
     */
    private Integer orderModel;

    /**
     * 是否线下支付（0否，1是）
     */
    private Integer isUnderLine;

    /**
     * 用户备注
     */
    private String userNote;

    /**
     * 支付时间
     */
    private Long payTime;

    /**
     * 确认时间
     */
    private Long confirmTime;

    /**
     * 发货时间
     */
    private Long deliveryTime;

    /**
     * 取消时间
     */
    private Long cancelTime;

    /**
     * 收货时间
     */
    private Long collectTime;

    /**
     * 关闭时间
     */
    private Long closeTime;

    /**
     * 评论时间
     */
    private Long commentsTime;

    /**
     * 是否已评论（0否, 大于0评论时间）
     */
    private Integer isComments;

    /**
     * 用户是否已评论（0否, 大于0评论时间）
     */
    private Integer userIsComments;

    /**
     * 是否已删除（0否, 大于0删除时间）
     */
    private Integer isDeleteTime;

    /**
     * 用户是否已删除（0否, 大于0删除时间）
     */
    private Integer userIsDeleteTime;

    /**
     * 添加时间
     */
    private Long addTime;

    /**
     * 更新时间
     */
    private Long updTime;

    private static final long serialVersionUID = 1L;
}